package ru.sgu.acm.dao;

import ru.sgu.acm.model.Submit;

/**
 * Data access object for Submit. Use it to do any operation around submit persistance.
 *
 * @author Vitaly Goldshteyn (VitalyGoldstein@gmail.com)
 */
public interface SubmitDao {
    /**
     *  Exctract pending submit from database, change its status to testing status
     *  and set ContesterId to id of current contester. 
     *
     *  @return Instance of pending Submit.
     */
    Submit extractPending();

    void update(Submit submit);
}
